package JZOffer;

/**
 * @author Lw中
 * @date 2021/8/7 21:39
 */
public class Jz15 {

    // Jz15. 二进制中1的个数

    public static int hammingWeight(int n) {
//        // 方法一：使用Java自带方法
//        return Integer.bitCount(n);

        // 循环右移并且取末位
        int res = 0;
        while(n != 0) {
            // 取出二进制中的末位判断是0还是1，是1就将结果加1
            res += n & 1;
            // 将二进制进行右移
            n >>>= 1;
        }
        return res;
    }

    public static void main(String[] args) {
        int i = hammingWeight(11);
        System.out.println(i);
    }

}
